/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.unifei.VRaptor.controller;

import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.edu.unifei.VRaptor.dao.CursoDao;
import br.edu.unifei.VRaptor.dao.EmpresaDao;
import br.edu.unifei.VRaptor.dao.PessoaDao;
import br.edu.unifei.VRaptor.dao.ProcessoSeletivoDao;
import br.edu.unifei.VRaptor.dao.RegistroDao;
import br.edu.unifei.VRaptor.modelo.Curso;
import br.edu.unifei.VRaptor.modelo.Empresa;
import br.edu.unifei.VRaptor.modelo.ProcessoSeletivo;
import br.edu.unifei.VRaptor.modelo.Registro;
import java.util.List;

/**
 *
 * @author Ramon Moraes
 */
@Resource
public class UsuariosController {
    
    private final PessoaDao pessoaDao;
    private final EmpresaDao empresaDao;
    private final ProcessoSeletivoDao processoSeletivoDao;
    private final CursoDao cursoDao;
    private final Result result;
    
    public UsuariosController(PessoaDao pessoaDao, EmpresaDao empresaDao, ProcessoSeletivoDao processoSeletivoDao, CursoDao cursoDao, Result result){
        this.pessoaDao = pessoaDao;
        this.empresaDao = empresaDao;
        this.processoSeletivoDao = processoSeletivoDao;
        this.cursoDao = cursoDao;
        this.result = result;
    }
    
    @Get
    @Path("/oportunidade/busca")
    public List<Curso> busca(){
        return cursoDao.findAllCurso();
    }
    
    @Post
    @Path("/oportunidade/busca")
    public List<ProcessoSeletivo> procura(Curso curso, ProcessoSeletivo processoSeletivo){
        return processoSeletivoDao.findByCursoAndProcesso(curso, processoSeletivo);
    }
    
    public void login(){
        
    }
    
    @Get
    @Path("/aluno")
    public List<ProcessoSeletivo> homeAluno(){
        //return processoSeletivoDao.findPageProcessoSeletivo(10, 0);
        Curso curso = new Curso();
        curso.setNome("Sistemas de Informação");
        return processoSeletivoDao.findByCurso(curso);
    }
    
    @Get
    @Path("/empresa")
    public List<ProcessoSeletivo> homeEmpresa(){
        Empresa empresa = new Empresa();
        empresa.setCnpj("123456789");
        
        return processoSeletivoDao.findByEmpresa(empresa, 10, 0);
    }
}
